﻿
using System.Windows.Controls;
namespace NavFx
{
	/// <summary>
	/// Interface to ensure a Silverlight page provides an identifier
	/// </summary>
	/// <remarks>
	/// You can think of Path as a Key in many cases it will be
	/// a single word matching the name of the page.  However
	/// in a complex application it might be appropriate or convenient
	/// to use a fully qualifying syntax to aid in indentifying where
	/// the page is used.
	/// 
	/// This is the minimum that a page must implement in order to
	/// enable managment by the NavFx Navigator
	/// </remarks>
	public interface IPage
	{
		/// <summary>
		/// Path to the page within the component
		/// </summary>
		string Path
		{
			get;
		}

		/// <summary>
		/// Indicates if the page should be Pinned in the Page Cache when it is cleared using Navigator.ClearCache
		/// </summary>
		bool IsPinned
		{
			get;
			set;
		}
	}
}
